perm filename ANI.SAI[TMP,LCS]3 blob
sn#152191 filedate 1975-03-22 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 BEGIN "TST"
C00006 ENDMK
C⊗;
BEGIN "TST"
REQUIRE "GEOMES.HDR[GEM,BGB]" SOURCE_FILE;
EXTERNAL SIMPLE REAL PROCEDURE ACOS(REAL X);
DEFINE SUBR="SIMPLE INTEGER PROCEDURE";
SUBR FHW(INTEGER Q);START_CODE HLRZ 1,Q;END;
SUBR LHW(INTEGER Q);START_CODE HRRZ 1,Q;END;
STRING STR;
INTEGER CI,TS,CB,FR,CHR,N,I,NF,LP;
INTEGER TF,LN,NT,TH;
REAL CWX,CWY,CWZ;
SAFE INTEGER ARRAY IA[1:300];
SUBR ADN;
BEGIN
OUTSTR(" NUM. OF FRAMES = ");
STR←INCHWL;
IF LENGTH(STR)=0 THEN RETURN(-1);
NF←INTSCAN(STR,CHR);CB←TS;
WHILE TS≠(CB←CW(CB)) DO BEGIN
FR←ALT2(CB);
IF (NT←PLINK(CB)) THEN BEGIN
LP←IA[NT];CWX←XWC(LP);CWY←YWC(LP);CWZ←ZWC(LP);
APTRAM(INTRAM(LP),FR);CVTRMV(LP);
IX(LP)←XWC(LP)/NF;
IY(LP)←YWC(LP)/NF;
IZ(LP)←ZWC(LP)/NF;
XWC(LP)←(XWC(FR)-CWX)/NF;
YWC(LP)←(YWC(FR)-CWY)/NF;
ZWC(LP)←(ZWC(FR)-CWZ)/NF;
IA[NT]←LP;IA[NT+1]←XWD(N,NF);
END ELSE BEGIN
NLINK$(N,CB);IA[N]←XWD(N+1,NF);N←N+1;
END;
LP←MKCOPY(FR);IA[N]←LP;
PLINK$(N,CB);IA[N+1]←0;N←N+2;
END;
END;
SUBR MKMOVI;
BEGIN
OUTSTR(" TOTAL NUM. OF FRAMES = ");
CB←TS;I←0;STR←INCHWL;
IF LENGTH(STR)≠0 THEN TF←INTSCAN(STR,CHR);
WHILE TS≠(CB←CW(CB)) DO BDET(CB);
WHILE (I←I+1)≤TF DO BEGIN
IF CI="M" THEN BEGIN
SHOW2(0,0);PLOTO("MOVIE."&CVS(I));
END ELSE GEODPY;CB←TS;
WHILE TS≠(CB←CW(CB)) DO BEGIN
TH←NLINK(CB);LN←IA[TH];NF←LHW(LN);NT←FHW(LN);
IF NF≤0 THEN BEGIN
LN←IA[NT+1];NF←LHW(LN);NT←FHW(LN);
END;
LP←IA[NT];
TRANSL(CB,XWC(LP),YWC(LP),ZWC(LP));
ROTATE(XWD(-2,CB),IX(LP),IY(LP),IZ(LP));
NF←NF-1;IA[TH]←XWD(NT,NF);
END;
END;
END;
MKUNIV;GEODPY;CI←"G";N←1;TS←DAD(UNIVERSE);
WHILE TRUE DO BEGIN
IF CI="G" THEN GEOMED;
CI←INCHRW;
IF CI="A" THEN BEGIN ADN;GEOMED;END;
IF CI="R"∨CI="M" THEN BEGIN MKMOVI;GEOMED;END;
END;
END "TST";